![]() CODER, REGISTRATION DEVICE, PLAY DEVICE WITH ROBUST DATA BLOCK HEAD
专利摘要:
The present invention relates to an encoder for converting a series of data words into a data block that has a header section, a checksum section and a payload section; wherein the encoder comprises: a header inserter intended for inserting a header pattern into the data block; a check sum calculator intended for calculating a check sum of the set of data words; a data word converter intended to convert the set of data words into a set of obsessed data words that are a result of applying an exclusive or operation between the set of data words and the checksum. 公开号:BE1025277B1 申请号:E2017/5740 申请日:2017-10-16 公开日:2019-01-07 发明作者:Geert Fannes;Daele Bert Van 申请人:Auro Technologies Nv; IPC主号:
专利说明:
Encoder, recording device, playback device with robust data block head Technical area The invention relates to the technical field of coding data words in a data block that has a data header. Background There remains a need in the art for a robust encoder and decoder for encoding and decoding sequences of data words that may, for example, be related to audio or video signals. EP 1 529 365 describes a method and apparatus for encrypting and authenticating data so that some data cannot be sent in code, but can still be authenticated by the sender. A set of clear text positions and / or a set of encrypted text positions are used to specify which data blocks will be used to generate an incoming checksum value and an outgoing checksum value. These checksums are then used to generate an authentication tag. Since EP 1 529 365 mainly focuses on information security, the proposed use of checksums leads to an excessively complex decoder and decoding method. The present invention aims at solving at least some of the identified problems. Summary of the invention This invention relates to an encoder for converting a series of data words into a data block, the encoder comprising: a header inserter intended for inserting a header pattern into the data block; a check sum calculator intended for calculating a check sum of the set of data words; and a data word converter intended to convert the set of data words into a set of obsessed data words that are a result of applying an exclusive or operation between the set of data words and the check sum. BE2017 / 5740 Such an encoder forms the basic data block by inserting data words into a payload section of the data block and completing the data block with a check sum and a header. The segmentation of a binary data stream into data blocks using header patterns and the addition of error detection capacities by adding a check sum to a binary data stream allows the binary data stream to be sent in packets and allows one or more large binary objects to a receiver / player (blob) to detect and reconstruct within a stream of bytes. It uses a header marker (SOH) start to indicate the start of a data block. However, such an encoder has the disadvantage that random data in the sequence of data words may occasionally have a head pattern such as a head start that would lead to a false synchronization by a receiver / playback device. It is an object of the present invention to reduce the occurrence of header patterns in the payload section of the data block. To achieve this goal, the present invention, in a first aspect, provides an encoder according to claim 1. Such an encoder is characterized in that the encoder comprises a header pattern eliminator intended for, as long as a header pattern is detected in the result of the exclusive or processing, in a number of repetitions n, where n is between 1 and the number of bits of the controlesomcontrole, a controlesommodificeerder for the creation of an n the checksum by changing an n th bit of the checksum, the data word converter for converting the sequence of data words in a series of geobfusceerde data words which are the result of applying an exclusive-or operation between the series of data words and n is the checksum, a koppatroondetector for detecting a head pattern in the n th set of geobfusceerde data words, and if there is no head cartridge has been detected, checking a payload inserter for inserting the n the checksum in the checksum section and the n the series of obsessed data words in the payload section of the data block. For most existing coders that support segmentation and error detection, the two mechanisms work independently of each other. In the present invention, the checksum is not only used for it BE2017 / 5740 checking and correcting the data words, but it is also used for obfuscating the data words, thus also obfuscating the false header pattern in the series of data words in the payload section by performing an exclusive or operation between the series of data words and the checksum and the insertion of the data word sequence with the object data sequence that is the result of the exclusive or operation in the payload section of the data block provided that the head pattern detector does not detect a head pattern in the result of the exclusive or operation. In case a header pattern is still present, another round of changing a further bit of the checksum and using it to create a further obsessed series of data words from the original series of data words is performed. Consequently, an obsessed series of data words without any occurrence of the header pattern is available for storing / sending, along with the modified checksum used in the exclusive or operation with the series of data words. These two elements allow the decoder to recreate the original set of data words with the help of a simple exclusive or operation between the focused set of data words and the corresponding modified checksum. As many laps are possible as there are bits in the checksum that must be changed. Only as many laps are performed as necessary to obtain a head pattern-free focused series of data words, i.e., the operation is stopped with the first value of n, i.e., No, where the result of the exclusive or operation does not include a head pattern. This head pattern-free obsessed series of data words is then inserted into the payload section of the data block, and the associated checksum is inserted into the checksum section of the data block. In this way it is prevented that an incorrect header pattern can occur in the payload section of the data. In a second aspect, the present invention provides a decoder for converting a data block into a series of data words, the decoder comprising - a head detector for locating a head in the data block; - a check sum extractor for extracting a check sum from the data block; BE2017 / 5740 - a code word converter intended for extracting the series of data words by applying an exclusive or operation between the code words of the data block and the extracted checksum; - a check sum calculator intended for calculating a check sum of the extracted set of data words; and - a checksum verifier intended for comparing the calculated checksum with the extracted checksum and giving an error indication based on a result of the comparison. Such a decoder advantageously combines error detection with segmentation, with a combined use of the checksum for both purposes. Moreover, since the occurrence of header patterns in the payload section of the data block is reduced on the coder side, the decoder has the advantage that it is easy to implement, just like the start of header marker (SOH) to the start of a data block to detect. In a further aspect, the present invention advantageously provides a recording device comprising an encoder as described. In a further aspect, the present invention advantageously provides a playback device comprising a decoder as described. In a further aspect, the present invention provides a coding method for converting a series of data words into a data block, the method comprising the following steps - inserting a header pattern in the data block; - calculating a check sum of the series of data words; - converting the set of data words into a set of obsessed data words that are a result of applying an exclusive or operation between the set of data words and the checksum. the method further comprising the steps of, for each n from 1 to the number of bits of the check sum and as long as a header pattern is detected in the result of the exclusive or operation - creating a n the checksum by changing a n the bit of the checksum, BE2017 / 5740 - converting the sequence of data words into an n geobfusceerde the series of data words which are the result of applying an exclusive-or operation between the series of data words and n is the checksum; and - detecting a head pattern in the n th geobfusceerde series of data words, and if there is no head cartridge has been detected, the insertion of the n the checksum in the controlesomsectie and the n th set of data words in the geobfusceerde payloadsectie of the data block. In a further aspect, the invention provides a decoding method for converting a data block into a series of data words, the method comprising the following steps: - locating a header in the data block; extracting a check sum from the data block; extracting the series of data words by applying an exclusive or operation between the code words of the data block and the extracted checksum; - calculating a check sum of the extracted set of data words; and - comparing the calculated checksum with the extracted checksum and giving an error indication based on a result of the comparison. Further preferred embodiments and their advantages are given in the dependent claims and the detailed description. DESCRIPTION OF THE FIGURES Figure 1 illustrates an embodiment of the encoder. Figure 2 illustrates an embodiment of the decoder. Figure 3 illustrates an embodiment of the recording device. Figure 4 illustrates an embodiment of the playback device. Figure 5 illustrates an example of a data block. Figure 6 illustrates an embodiment of the coding process. BE2017 / 5740 Figure 7 illustrates an embodiment of the decoding process. Figure 8 illustrates an example of an encryption procedure. Detailed description of the invention The present invention provides a coder according to claim 1 in a first aspect. In an embodiment of the encoder is adjacent to the n + l is the bit at the n th bit of the checksum. By changing an adjacent bit in each repetition, it is possible to keep track of how many repetitions have been performed since an adjacent bit in the changed checksum has been changed in each successive repetition. If non-consecutive bits have changed, this is an indication of an error in the transmission of the checksum or the payload. This is because, in cases where no transmission errors occur, only changed checksums with adjacent bit values go from 0 to 1 or from 1 to 0 (ie changed) without the possibility of alternating non-modified bits. In one embodiment of the encoder, when n = 1, the least significant bit of the checksum is the bit to be changed. This implies that when other bits of the changed check sum have been changed from 0 to 1 or from 1 to 0, but not the least significant bit, an error has occurred during transmission of the check sum or payload. Since the least significant bit of the checksum is the first bit whose value can be changed compared to the original checksum of the set of data words, other bits may only be changed when the least significant bit has also changed. This allows a check on the changed checksum. In an alternative embodiment of the encoder, another of the bits of the check sum must be changed. For example, when n = 1, the first bit to be changed can be the most significant bit, and adjacent bits can be changed as n rises. In a second aspect, the present invention provides a decoder as described. The decoder can work as follows. The header detector locates the header in the data stream and thus allows the decoder to locate the start of the data block. This allows the extraction of the checksum and the focused series of data words from the payload section of the data block. However, the checksum can be a changed checksum or the original checksum. The extraction is carried out by applying an exclusive or operation to the checksum extracted from the BE2017 / 5740 checksum section of the data block and the focused set of data words extracted from the payload section of the data block. This results in the original set of data words. To perform an error check on the received data, the check sum is calculated by the check sum calculator on the result of the exclusive or operation. This check sum is then compared with the extracted check sum. If this calculated checksum matches the extracted checksum, no further action is required since the set of data words extracted was correctly received and no errors occurred in the checksum during transmission. If the extracted checksum and calculated checksum differ from each other, it is checked whether the difference is limited to changed bits that were expected to have changed according to the scheme used during the coding. If this is the case, the set of data words is accepted as received correctly. In one embodiment of the decoder, a checksum verifier is intended to locate a modified bit in the extracted checksum by comparing it with the calculated checksum. If this calculated checksum matches the extracted checksum, no further action is required since the set of data words extracted was correctly received and no errors occurred in the checksum during transmission. If the extracted checksum and calculated checksum differ from each other, it is checked whether the difference is limited to changed bits that were expected to have changed according to the scheme used during the coding. If this is the case, the set of data words is accepted as received correctly. In a further embodiment of the decoder, the modified bits in the extracted checksum must adjoin each other. In an embodiment where the encoder uses a scheme of only changing adjacent bits during successive repetitions, the received changed checksum may only differ in adjacent bits, otherwise an error has occurred during the transmission. In a further embodiment of the decoder, a least significant bit of the extracted checksum must be changed if any bit of the extracted checksum is changed. When the encoder, if required, first changes the least significant bit, the extracted checksum must have changed the least significant bit compared to the checksum calculated over the set of data words if any bit differs between the calculated bit BE2017 / 5740 checksum and the extracted checksum. In an alternative embodiment, another bit of the check sum is changed first. For example, when n = 1, the first bit that is changed can be the most significant bit, and adjacent bits can be changed as n rises. In a further aspect, the present invention provides an encoding method as described. The coding method for converting a series of data words into a data block creates a data block that has a header section, a checksum section, and a payload section. To achieve this, a header pattern is inserted in the header section of the data block. In addition, a checksum and payload are required and the checksum is calculated over the series of data words that will form the payload in an obfuscated form. This calculated checksum is then used to obfuscate the series of data words. This is done by converting the set of data words into a set of obsessed data words that are a result of applying an exclusive or operation between the set of data words and the checksum. If this results in an obsessed series of data words where no header pattern is present, the obsessed series of data words together with the checksum of the series of data words is inserted into the data block in their respective sections. However, if a header pattern is found, a repeating process is started where for every n from 1 to the number of bits of the checksum and as long as a header pattern is detected in the result of the exclusive or operation, a n the checksum is created by changing an n the bit of the checksum, and the set of data words is converted into an n the set of obsessed data words that are the result of applying an exclusive or operation between the original set of data words and the n the checksum. Each successive check sum has changed more bits ie in the third repetition both the first, second and third bits of the check sum have changed. A detection of a header pattern in the n the series of obsessed data words is then performed and if no header pattern is detected, the n the checksum is inserted into the checksum section and the n the series of obsessed data words is inserted into the payload section of the data block. If a head pattern is still found, another round in the repeat must be performed until no more head pattern can be detected. In this way it is prevented that a false header pattern can occur in the payload section of the data. BE2017 / 5740 In an embodiment of the encoding method is adjacent to the n + l is the bit at the n th bit of the checksum. By changing an adjacent bit in each repetition, it is possible to keep track of how many repetitions have been performed and whether in each successive repetition, an adjacent bit has changed in the changed checksum. If non-consecutive bits have changed, this is an indication of an error in the transmission of the checksum or the payload. This is because, if no transmission errors occur, only modified checksums are possible that have adjacent bit values ranging from 0 to 1 or from 1 to 0 (ie modified) without alternating non-modified bits. In a further embodiment of the coding method, when n = 1, the least significant bit of the checksum is the bit to be changed. This implies that when other bits of the changed check sum have been changed from 0 to 1 or from 1 to 0, but not the least significant bit, an error has occurred during transmission of the check sum or payload. Since the least significant bit of the checksum is the first bit whose value can be changed compared to the original checksum of the set of data words, otherwise bits may only be changed when the least significant bit has also changed. This allows a check on the changed checksum. In an alternative embodiment of the coding method, it may be another bit that has been modified first. For example, the most significant bit can first be changed when n = 1, and adjacent bits can be changed as n rises. In a further aspect, the invention provides a decoding method as described. The decoding method can work as follows. The header is located in the data stream and this makes it possible to locate the start of the data block. This allows the extraction of the checksum and the focused series of data words from the payload section of the data block. However, the checksum can be a changed checksum or the original checksum. The extraction is performed by applying an exclusive or operation to the checksum extracted from the checksum section of the data block and the obsessed series of data words extracted from the payload section of the data block. This results in the original set of data words. To perform an error check on the received data, the check sum is calculated by the check sum calculator on the result of the exclusive or operation. This check sum is then compared with the extracted check sum. If this calculated checksum matches the extracted checksum, no further action is required since the set of data words are those BE2017 / 5740 were correctly received and no errors occurred in the checksum during the transmission. If the extracted checksum and calculated checksum differ from each other, it is checked whether the difference is limited to changed bits that were expected to have changed according to the scheme used during the coding. If this is the case, the set of data words is accepted as received correctly. In one embodiment of the decoding method, the method comprises the step of locating a modified bit in the extracted check sum by comparing it to the calculated check sum. Comparing the calculated checksum with the extracted checksum allows the decoder to identify the changed bits of the extracted checksum and to compare its locations with the calculated checksum as calculated over the extracted set of data words after de-obfuscation with the exclusive or operation . If the pattern of locations does not match the pattern used by the encoder, an error is indicated. If the pattern does match, there is a good chance that there is no error in the received / retrieved data block. In one embodiment of the decoding method, the modified bits in the extracted checksum must adjoin each other. Since a typical pattern used during coding would result in adjacent bits that have been changed, checking for this pattern on the receiving side allows the detection of errors during transmission or storage. In a further embodiment of the decoding method, a least significant bit of the extracted checksum must be changed if any bit of the extracted checksum is changed. Starting with the least significant bit of the check sum when changing bits means that also on the receiving side, if some bits differ between the extracted check sum and the calculated check sum, the least significant bit must be different, ie must be changed, otherwise it would be different difference not caused by the change during coding, but by errors during transmission / retrieval. In an alternative embodiment of the decoding method, another bit can first be changed. For example, it can be the most significant bit that is first changed when n = 1, while adjacent bits can be changed to increase n. In the present invention, the checksum serves both for segmentation and for error detection. As a means of error detection, in principle, only one can BE2017 / 5740 checksum algorithm are applied. In a preferred embodiment of the present invention, the checksum is calculated by means of a Fletcher checksum algorithm such as Fletcher-16, Fletcher-32 or Fletcher-64, with a checksum length of 16, 32 or 64 bit, respectively. In view of the desire to keep the decoder as simple as possible, this type of checksum algorithm has proven to be an advantageous choice. In an alternative embodiment, a cyclic redundancy check algorithm (CRC) of e.g. 32 bits or 64 bits can be applied. In a preferred embodiment of the encoder, the encoder comprises a header pattern eliminator intended for, as long as a header pattern is detected in a data array to be checked, in a number of repetitions n, where n is between 1 and the number of bits of the checksum check, a control modifier (8) for creating an n the checksum by changing an n the bit of the checksum, the data word converter (4) for converting the series of data words into an n the series of data words that are focused on of applying an exclusive-or operation between the series of data words and n is the checksum, and a koppatroondetector (5) for detecting a head cartridge in the data array which-must-be-checked, and if there is no head cartridge has been detected, checking a payload inserter (6) for inserting the n the checksum in the checksum section and the n the series Obsessed data words in the payload section of the data block. The data array which-must-be-controlled in this case comprises at least the n th checksum, ie the controlesomsectie and the payloadsectie. Here, the payload section comprises at least the sequence of data words, and optionally the length of the sequence of data words. In a preferred embodiment, the data array comprises a sequence of the header section, the checksum section and the payload section. The advantage of this is that the chance of finding a header sequence in the coded data block at any position other than the first one can be further reduced. In another embodiment, the data array to be checked comprises a sequence of the header section, the checksum section, the payload section, and yet another header section. This is advantageous since it allows an even stricter check. Namely, the chance of finding a header sequence in a burst of attached coded data blocks at any position other than at the start of the respective coded data blocks can be limited in this way. Related to this, in various BE2017 / 5740 embodiments of the coding method, the data array to be checked is selected as indicated. Similarly, in different embodiments of the recording device, the data array to be checked is selected as indicated. The present invention will now be described in more detail with reference to the examples that are not limitative. Examples Example 1: encoder Figure 1 illustrates an embodiment of the encoder. The encoder 1 receives a series of data words via input 2 and comprises an output 7 where a data block having a header section, a checksum section and a payload section is transmitted. The encoder 1 comprises a header insert 6 intended for inserting a header pattern into the data block before it is sent to the output 7. The encoder 1 further comprises a header pattern eliminator 9 for eliminating header patterns from payload sections. The head cartridge eliminator 9 comprises a control eliminator 3 a data word converter 4, a head pattern detector 5 and a control modifier 8. The checksum calculator 3 calculates a checksum from the series data words and supplies this checksum to the data word converter 4. The data word converter also receives the series of data words from the input 2. The data word converter 4 then converts the set of data words to a set of obsessed data words by applying an exclusive or operation between the set of data words received from the input 2 and the check sum received from the check sum calculator 3. The data word converter 4 supplies the result of the exclusive or operation to the header pattern detector 5 which searches for places where the header pattern occurs in the result of the exclusive or operation. If one or more header patterns are found, the header pattern detector 5 signals this to the control modifier 8, which in turn changes the checksum in the checksum calculator 3. In a repetition, the sequence of data words is again converted by the data word converter 4, but now with the aid of the BE2017 / 5740 modified checksum received from the checksum calculator 3. The result of this conversion, another repetition of the series of obsessed data words, is provided by the data word converter 4 to the head pattern detector 5 which again checks for the presence or absence of the head pattern in this repetition of the series of obsessed data words. If after a repetition no header pattern is found by the header pattern detector 5, the repeats stop and both the current modified checksum and the current set of obsessed data words are respectively supplied by the checksum calculator 3 and the data word converter 4 to the header inserter 6 for insertion into their respective section in the data block. It should be noted that it is advantageous to include the length of the series of data words as a parameter in the payload section of the data block and to include it in the obfuscation by exclusive or processing. This is important to also avoid a head pattern in the coded length. In a preferred embodiment, the length of the data word sequence, or, equivalent, the run length, comprises a sequence of bytes and is encoded by a type of run-length coding, such as the type discussed in Example 8. It should further be noted that since the check sum is shorter than the set of data words, a concatenation of different copies of the check sum is used in the exclusive or operation to obtain an entry for the data word converter 4 which has a length equal to the set of data words. Example 2: decoder Figure 2 illustrates an embodiment of the decoder. The decoder 10 for converting a data block into a series of data words comprises a head detector 12 for locating a head in the data block and a check extractor 13 for extracting a check sum from the data block, and a payload extractor 14 for extracting the set obsessed data words from the data block. Both the extracted set of focused data words and the extracted checksum are supplied to the data word converter 15 which performs an exclusive or operation on the extracted checksum and BE2017 / 5740 extracted series of obsessed data words. The result is the set of data words originally presented to the encoder. The sequence of data words is then supplied by the codeword converter 15 at the output 16 of the decoder 10. In parallel, the sequence of data words is also supplied by the data word converter 15 to the checksum calculator 17. The checksum calculator thus calculates the checksum of the series of data words, not the sequence obfuscated data words, and supplies this calculated check sum to the check sum verifier 18. The check sum verifier 18 compares the calculated check sum with the extracted check sum received from the check sum extractor 13 and locates all bit positions that differ. A check is then performed to verify that the pattern of change (i.e., positions of changed bits) satisfies the pattern that is expected, knowing the pattern of later change of the check sum by the encoder. If the pattern matches (or if there are no modified bits), the sequence of data words is received without errors and an indication thereof is supplied to the error indication output 19 of the decoder 10. If a difference is found to interfere with the expected pattern of the coding, an error in either the extracted check sum or the extracted set of obsessed data words is likely and an indication thereof is provided by the check sum verifier 18 at the error indication output 19 of the decoder 10. It should be noted that, if included in the data block, it is advantageous to extract the length of the series of data words as a parameter in the payload section of the data block. In a preferred embodiment, the length of the data word sequence, or, equivalent, the run length, comprises a sequence of bytes and is encoded by a type of run-length coding, such as the type discussed in Example 8. It should further be noted that since the extracted check sum is shorter than the set of data words focused, a concatenation of different copies of the extracted check sum is used in the exclusive or operation to obtain an entry for the data word converter 15 having a length that is is equal to the series of obsessed data words. BE2017 / 5740 Example 3: registration device Figure 3 illustrates an embodiment of the recording device. The recording device 30 comprises an input 33 for receiving, for example, an audio or a video signal. The signal is supplied from this input 33 to the signal encoder 31 where the signal is encoded, for example, according to an audio or video compression standard. This encoded signal is then supplied to the encoder 1 which operates as described in Figure 1 and assembles the data block as described with the encoder of Figure 1. The resulting data block is supplied to a transmitter 32 which in turn transmits the resulting transmission signal to either a transmission channel (not shown) or a storage device (not shown) via the output 34 of the recording device 30. Example 4: playback device Figure 4 illustrates an embodiment of the playback device. The playback device 40 comprises a decoder, for example the embodiment of the decoder 10 as described in Figure 2. The playback device 40 comprises a receiving section 41 for receiving the signal comprising the data blocks of the input 43. The receiving section 41 supplies this signal, after conversion to signals suitable for the decoder 10, to the decoder 10. The decoder 10 then operates as described in Figure 2 and supplies the sequence of data words to the signal processor 42 such as an audio decoder or video decoder where the payload section of the data blocks is used to create, for example, an audio signal or a video signal which the playback device then supplies to its output 44 other devices such as amplifiers or displays. Example 5: data block Figure 5 illustrates an example of a data block. The data block 50 includes a header section 51, a checksum section 52 and a payload section 53. The payload section 53 stores the sequence of data-focused data words and, if applicable, a size indication that indicates the size of the sequence of data-focused data words. The payload section stores data in an obfuscated form. BE2017 / 5740 Example 6: coding process Figure 6 illustrates an embodiment of the coding process. The coding method for converting a series of data words into a data block comprises the following steps - inserting a header pattern 60 into the data block, - calculating 61 a checksum of the series of data words, - converting 62 the series of data words into a series of obsessed data words that are the result of applying an exclusive or operation between the series of data words and the checksum, and for each n from 1 up to the number of bits of the checksum and only for as long a head cartridge is detected in the result of the exclusive-or operation, creating 64 an n checksum by changing the n bits of the checksum, and converting 62 of the series of data words in a series geobfusceerde given words that result of applying an exclusive-or operation between the series of data words and n is the checksum, the detection 63 of a head cartridge in the n th set of geobfusceerde data words, and if there is no head cartridge has been detected, the insertion of the n the checksum in the controlesomsectie and the n the series of obsessed data words in the payload section of the data block, the n + 1 being the bi t is adjacent to the n th bit of the checksum. As long as detecting 63 of the header pattern finds a header pattern in the data intended for the payload section of the data block, ie the series of obsessed data words and if applicable an indication of the size of the series of obsessed data words, the checksum is further modified by the changing an additional bit of the checksum, whereby all previous changed bits of the checksum remain changed. This reduces the chance that a head pattern can be found after a subsequent repetition. As soon as there is no more head pattern in the data intended for the payload section, the repetition stops and the last / current set of obfuscated data words and corresponding changed checksum is inserted into the data block, completing the data block and the purpose of the data block. BE2017 / 5740 creating a data block without incorrectly present header patterns in the payload section is achieved. In the repeating process, the least significant bit of the checksum is the first bit to be changed, and then the bit is changed to the next higher bit weighting position. Example 7: decoderinos process Figure 7 illustrates an embodiment of the decoding process. The decoding method for converting a data block into a series of data words comprises the following steps of locating one header in the data block to allow extraction of the other data into the data block since a data block is required for this, extracting it 71 of a check sum from the data block, and extracting 72 from the set of data words by applying an exclusive or operation between the code words of the data block and the extracted check sum, calculating 73 a check sum of the extracted set of data words, and comparing 74 of the calculated checksum with the extracted checksum and giving an error indication based on a result of the comparison, which yields the extracted set of data words 76. Both the extracted set of focused data words and the extracted check sum are provided for data word extraction in the extraction step 72 which performs an exclusive or operation on the extracted check sum and extracted set of focused data words. The result is the set of data words originally presented to the encoder. The sequence of data words is then supplied 76 after code word extraction 72 at the output 16 of the decoder 10 after calculation 73 of the calculated checksum over the extracted sequence of data words. Thus, the check sum calculation 73 calculates the check sum of the data word set, not the set of data focuses, and provides this calculated check sum for comparison 74. This comparison step 74 compares the calculated check sum with the extracted check sum received from the check sum extraction step 71 and locates all bit positions that differences. Becomes BE2017 / 5740 then performed a check to verify that the pattern of change (i.e., positions of changed bits) satisfies the pattern that is expected knowing the pattern of later change of the control sum by the encoder. If the pattern matches (or if there are no modified bits), the sequence of data words is received without error and an indication thereof is provided 75. If a difference is found to interfere with the expected pattern of the coding, an error in either the extracted checksum or the extracted series of obfuscated data words is likely and an indication thereof is provided 75. The step of comparing the calculated checksum and the extracted checksum actually locates a modified bit in the extracted checksum by comparing it with the calculated checksum. The modified bits in the extracted checksum may advantageously have to adjoin each other. The least significant bit of the extracted checksum must be changed if any bit of the extracted checksum is changed. Example 8: coderinos procedure in pseudo code This example image describes one implementation capability of the cedar, the coding method and / or the recording device according to the present invention. In this spring image, the head section SOH (start-ef-header marker) was cited, the series of data resistances bleb (binary large ebject, binary greet ebject) was cited, and the n the center blossom used with repeating n salt was cited . In addition, it is assumed that the data block comprises a length of the series of data words, which indicates the size of the series of data words; this length is called run length. The data block in this example, as illustrated, for example, by Figure 5, therefore consists of an SOH followed by a salt, in turn followed by a payload section comprising the run length followed by the blob. Furthermore, φ indicates the bit-wise XOR operation. In this example, the run length comprises a sequence of bytes and is coded by run length coding. Here, the most significant bit of each byte indicates whether there will be an extra byte. The last byte has a most significant bit equal to zero, while the other bytes sets their most significant bit to one BE2017 / 5740. With such a run-length coding type, the other 7 bits of each byte are used to encode the size itself, using the big endian order. In this example, the checksum is calculated using the Fletcher-32 checksum algorithm, with a 32-bit checksum length. Given the desire to keep the decoder as simple as possible, this type of checksum algorithm is an advantageous choice. Alternatively, a 32-bit cyclic redundancy check algorithm (CRC) can be applied. Figure 8 illustrates an example of an encoding procedure, with a schematic table comprising a column header 80 and rows 81-84. The column headings indicate the respective parts of the data block being encoded, consisting of the SOH, the salt, the size, and the blob. As shown in Figure 8, the following steps can be followed to code the block: (01) Coding the run length 85 (i.e., the blob size) using run length coding and placing it in front of the block 86. This is illustrated in the first row 81. (02) Calculating the checksum 87 of the concatenation of the run length 85 and the blob 86. This is illustrated in the second row 82. (03) Setting the repetition counter n = 0. (04) For each repetition, the creation of the salt 90 via the operation salt = checksom®2 / K nl and its placement for the concatenation of the run length 85 and blob 86. For each repetition, this amounts to changing a another bit of the checksum. This is illustrated in the third row 83. (05) Obfuscating the concatenation of the run length 85 and the block 86 by xor-ing them with the salt 90, to obtain the obsessed run length and blob 91. This is illustrated in the fourth row 84. (06) Checking for the presence of the SOH sequence. The entry for this check must be at least the salt, the run length and the blob. In a preferred embodiment, this check is performed for the concatenation of the SOH, salt, size, and blob, respectively. In this way, the chance of finding a header sequence in the coded data block at any position other than the first one can be further reduced. In another embodiment, this check can be even stricter by performing the check for concatenation of the SOH, the salt, the size, the blob and another BE2017 / 5740 SOH. In this way, the likelihood of finding a header sequence in a burst of attached coded data blocks at any position other than at the start of the respective coded data blocks can also be limited. (07) If the SOH is found at any position other than the actual start of the intended data block and n <32, increasing n by 1 and returning to step (04). (08) Generating an encoded data block as the respective concatenation of the SOH 89, the salt 90, and the obsessed run length and blob 91. Example 9: oseudo-code decoding procedure This example describes one embodiment of the decoder, the decoding method and / or the playback device of the present invention. This example is intended as a counterpart to the coding procedure spoken in the example, with corresponding wording. To detect and decode a coded set of data words, or, equivalent, a coded blob, the following two processes must be performed: - Detecting SOH. - Decoding the data when an SOH is detected. In a preferred embodiment, once an SOH is detected - even if the decoding is still in progress - the decoding is started (again). This has the advantage that the decoding procedure can be further simplified. Decoding consists of: [01] collecting the salt bytes; [02] de-obfuscating the other bytes using the salt; [03] decoding the run-length coded size to know the blob size; [04] optionally, carrying out a check to verify whether the change pattern of the salt, ie the n th checksum, corresponding to the expected pattern on the basis of the decrypted blob.
权利要求:
Claims (16) [1] Conclusions An encoder (1) for converting a series of data words into a data block that has a header section, a checksum section and a payload section; wherein the encoder (1) comprises: - a header insert (6) intended for inserting a header pattern into the data block; - a checksum calculator (3) intended for calculating a checksum of the series of data words; - a data word converter (4) intended for converting the set of data words into a set of obsessed data words that are a result of applying an exclusive or operation between the set of data words and the checksum. characterized in that the encoder (1) comprises a header pattern eliminator (9) intended for, as long as a header pattern is detected in the result of the exclusive or processing, in a number of repetitions n, where n is between 1 and the number of bits of the checksum check , - a controlesommodificeerder (8) for creating an n checksum by changing the n bits of the checksum, - the data word converter (4) for converting the sequence of data words into an n geobfusceerde the series of data words which are of applying the result of an exclusive-or operation between the series of data words and the n the checksum, and - a koppatroondetector (5) for detecting a head pattern in the n th set of geobfusceerde data words, and if there is no head cartridge has been detected, checking a payloadinvoeger (6) for the n inserting the checksum in the controlesomsectie and the n th sequence of obsessed data words in the payload section of the data block. [2] Encoder according to claim 1, wherein the n + 1 the bit borders the n the bit of the checksum. BE2017 / 5740 [3] The encoder of claim 2, wherein, when n = 1, the least significant bit of the checksum is the bit to be changed. [4] A decoder for converting a data block into a series of data words, the decoder comprising the following steps - a head detector for locating a head pattern in the data block; - a check sum extractor for extracting a check sum from the data block; - a code word converter intended for extracting the series of data words by applying an exclusive or operation between the code words of the data block and the extracted checksum; - a check sum calculator intended for calculating a check sum of the extracted set of data words; and - a checksum verifier intended for comparing the calculated checksum with the extracted checksum and giving an error indication based on a result of the comparison. [5] The decoder of claim 4, wherein the checksum verifier is intended to locate a modified bit in the extracted checksum by comparing it with the calculated checksum. [6] The decoder of claim 5, wherein the modified bits in the extracted checksum must adjoin each other. [7] The decoder of claim 6, wherein a least significant bit of the extracted checksum is to be changed if any bit of the extracted checksum is changed. [8] A recording device comprising an encoder according to any one of the claims 1 to 3. [9] A playback device comprising a decoder according to any of claims 4 to 7. [10] An encoding method for converting a series of data words into a data block, the method comprising the following steps BE2017 / 5740 inserting a header pattern in the data block; - calculating a check sum of the series of data words; - converting the set of data words into a set of obsessed data words that are a result of applying an exclusive or operation between the set of data words and the checksum. characterized in that the method further comprises the following steps, for each n from 1 to the number of bits of the checksum and as long as a header pattern is detected in the result of the exclusive or processing - creating a n the checksum by changing a n the bit of the checksum, - converting the sequence of data words into a series of geobfusceerde data words which are the result of applying an exclusive-or operation between the series of data words and n is the checksum; and - detecting a head pattern in the n th geobfusceerde series of data words, and if there is no head cartridge has been detected, the insertion of the n the checksum in the controlesomsectie and the n th set of data words in the geobfusceerde payloadsectie of the data block. [11] 11. The encoding method of claim 10, wherein the n + l is the bit adjacent to the n th bit of the checksum. [12] The coding method of claim 11, wherein the least significant bit of the checksum is the bit to be changed. [13] A decoding method for converting a data block into a series of data words, the method comprising the following steps - locating a header in the data block; extracting a check sum from the data block; extracting the series of data words by applying an exclusive or operation between the code words of the data block and the extracted checksum; BE2017 / 5740 - calculating a check sum of the extracted set of data words; and - comparing the calculated checksum with the extracted checksum and giving an error indication based on a 5 result of the comparison. [14] The decoding method of claim 13, wherein the method comprises the step of locating a modified bit in the extracted checksum by comparing it with the calculated checksum. [15] The decoding method of claim 14, wherein the modified bits are in 10 the extracted checksum must be adjacent to each other. [16] The decoding method of claim 15, wherein a least significant bit of the extracted checksum is to be changed if any bit of the extracted checksum is changed.
类似技术:
公开号 | 公开日 | 专利标题 US7159118B2|2007-01-02|Methods and apparatus for embedding and recovering watermarking information based on host-matching codes US8433983B2|2013-04-30|Secure protection of biometric templates CN106650869B|2020-02-07|Information hiding method based on two-dimensional code CN101675473B|2012-07-11|Method and apparatus for processing encoded audio data US20050022093A1|2005-01-27|Data processing method and data checking method US10594440B2|2020-03-17|SPC sensor interface with partial parity protection BE1025277B1|2019-01-07|CODER, REGISTRATION DEVICE, PLAY DEVICE WITH ROBUST DATA BLOCK HEAD KR101913644B1|2018-10-31|Code-based encryption apparatus and method capable of message authentication US9425830B2|2016-08-23|Error detection device and error detecting method US20140294229A1|2014-10-02|Method and Device for Watermarking a Sequence of Images, Method and Device for Authenticating a Sequence of Watermarked Images and Corresponding Computer Program RU2671989C1|2018-11-08|Method of transmission of multilateral messages by the concatenated code in the communication complexes CN110457873B|2021-04-27|Watermark embedding and detecting method and device JP6588048B2|2019-10-09|Information processing device CN108962289B|2020-05-12|Method and device for appending hidden identification data based on optical disc synchronous frame CN109101791B|2021-03-02|Watermark parameter automatic acquisition method and system based on data characteristics JP4410217B2|2010-02-03|Digital watermark method JP5589995B2|2014-09-17|Information processing device WO2015092585A1|2015-06-25|Method and apparatus for cipher fault detection US10298406B1|2019-05-21|Security integrated circuit JP2013058965A|2013-03-28|Digital data information embedding apparatus and embedded information detection apparatus EP2002547B1|2014-12-03|Method for encoded or encrypted bit stream synchronization Ur-Rehman et al.2016|Content based image authentication with error correction CN110738513A|2020-01-31|method and device for generating and verifying redemption codes CN113472818B|2021-11-30|Copyright audio data processing method, server and mobile terminal JP6598259B2|2019-10-30|Device specific information generation apparatus, device specific information generation system, and device specific information generation method
同族专利:
公开号 | 公开日 CN109997310A|2019-07-09| WO2018069550A1|2018-04-19| US20200044664A1|2020-02-06| BE1025277A1|2019-01-03| EP3526901A1|2019-08-21| JP2019537340A|2019-12-19| CA3040196A1|2018-04-19| EP3526901B1|2020-12-02|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPS56156045A|1980-05-02|1981-12-02|Fujitsu Ltd|Scrambling system| EP0421871A2|1989-10-02|1991-04-10|Sony Corporation|Record data generating method| JPH05219051A|1992-02-04|1993-08-27|Nec Eng Ltd|Scrambled signal multiplexing system| US20040057499A1|2002-09-23|2004-03-25|Haartsen Jacobus Cornelis|Clock recovery in communication systems| US6950517B2|2002-07-24|2005-09-27|Qualcomm, Inc.|Efficient encryption and authentication for data processing systems| JP4612864B2|2005-05-19|2011-01-12|キヤノン株式会社|Communication device, reception method, codec, decoder, communication module, communication unit, and decoding method in the device| TWI372539B|2006-06-23|2012-09-11|Qualcomm Inc|Methods and systems for processing overhead reduction for control channel packets| JP2008205899A|2007-02-21|2008-09-04|Meidensha Corp|Transmission failure avoiding method in transmission/reception system|US10728023B2|2018-07-31|2020-07-28|EMC IP Holding Company LLC|Hash function with content based salt|
法律状态:
2019-02-04| FG| Patent granted|Effective date: 20190107 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 EP16002210|2016-10-14| EP16002210.9|2016-10-14| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|